package cn.tedu.sp03.server;

import cn.tedu.sa01.pojo.User;
import cn.tedu.sa01.server.UserServer;
import cn.tedu.web.util.JsonUtil;
import com.fasterxml.jackson.core.type.TypeReference;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
@Slf4j
//刷新到的用户配置，重新注入到业务对象加此注解: @RefreshScope
@RefreshScope
public class UserServerImpl implements UserServer {

    @Value("${sp.user-server.users}")
    private String userJson;
    @Override
    public User getUser(Integer id) {
        log.info("获取用户， id="+id);
        List<User> list =
                JsonUtil.from(userJson, new TypeReference<List<User>>(){});
        for (User user : list) {
            if (user.getId().equals(id)){
                return user;
            }
            
        }
        return new User(id,"用户名"+id,"密码"+id);
    }

    @Override
    public void addScore(Integer id, Integer score) {
       log.info("增加用户积分，id="+id+",score="+score);
    }
}
